package com.xbongbong.parent.interfaces.logger;

import com.xbongbong.paas.log.pojo.InfoArrPojo;
import com.xbongbong.pro.log.pojo.dto.AddOperationLogDTO;
import com.xbongbong.pro.log.pojo.dto.DeleteBatchOperationLogDTO;
import com.xbongbong.pro.log.pojo.dto.DeleteOperationLogDTO;
import com.xbongbong.pro.log.pojo.dto.UpdateBatchOperationLogDTO;
import com.xbongbong.pro.log.pojo.dto.UpdateOperationLogDTO;

import java.util.List;

/**
 * @author: yingjianfeng
 * @date: 2022/4/13 16:35
 * @description:    操作日志顶层接口
 */
public interface OperationLogHandle {
    /**
     * 业务类型
     *
     * @return 业务类型
     */
    List<Integer> type();
    /**
     * 新增操作的日志记录
     * date: 2022/4/14 10:04 上午
     * @Author yingjf
     * @param addOperationLogDTO:add入参
     */
    void add(AddOperationLogDTO addOperationLogDTO);
    /**
     * 更新操作的日志记录
     * date: 2022/4/14 10:05 上午
     * @Author yingjf
     * @param updateOperationLogDTO:update入参
     */
    void update(UpdateOperationLogDTO updateOperationLogDTO);
    /**
     * 批量更新操作的日志记录
     * date: 2022/4/14 10:05 上午
     * @Author yingjf
     * @param updateBatchOperationLogDTO:updateBatch入参
     */
    void updateBatch(UpdateBatchOperationLogDTO updateBatchOperationLogDTO);
    /**
     * 删除操作的日志记录
     * date: 2022/4/14 10:05 上午
     * @Author yingjf
     * @param deleteOperationLogDTO:delete入参
     */
    void delete(DeleteOperationLogDTO deleteOperationLogDTO);
    /**
     * 批量删除操作的日志记录
     * date: 2022/4/14 10:05 上午
     * @Author yingjf
     * @param deleteBatchOperationLogDTO:deleteBatch入参
     */
    void deleteBatch(List<InfoArrPojo> infoArrPojoList,DeleteBatchOperationLogDTO deleteBatchOperationLogDTO);
}
